From 97df50063b8fb7de0bb7e11ce844f6f590b959fa Mon Sep 17 00:00:00 2001 From: Neha Ojha Date: Thu, 3 Dec 2020 19:18:04 +0000 Subject: [PATCH] messages/MMonCommand, MMonCommandAck: don't log values for "config set" and "config-key set" This acts like a big hammer to avoid adding sensitive information, like passwords into mon/mgr/cluster logs when using "config set" and "config-key set" to set keys whose values should be secure. Fixes: https://tracker.ceph.com/issues/37503 Signed-off-by: Neha Ojha (cherry picked from commit 3d54660ca1a9a7ae54e884c3181fca17a40d8cd3) Origin: upstream, https://github.com/ceph/ceph/pull/38614/commits/b579cddca07a19d8de2613eb7713de9e33d67d0d Gbp-Pq: Name CVE-2020-25678-1.patch --- src/messages/MMonCommand.h | 23 ++++++++++++++++++++--- src/messages/MMonCommandAck.h | 24 +++++++++++++++++++++++- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/messages/MMonCommand.h b/src/messages/MMonCommand.h index c6764475d..e0ef5a735 100644 --- a/src/messages/MMonCommand.h +++ b/src/messages/MMonCommand.h @@ -15,6 +15,7 @@ #ifndef CEPH_MMONCOMMAND_H #define CEPH_MMONCOMMAND_H +#include "common/cmdparse.h" #include "messages/PaxosServiceMessage.h" #include @@ -37,10 +38,26 @@ private: public: const char *get_type_name() const override { return "mon_command"; } void print(ostream& o) const override { + cmdmap_t cmdmap; + stringstream ss; + string prefix; + cmdmap_from_json(cmd, &cmdmap, ss); + cmd_getval(g_ceph_context, cmdmap, "prefix", prefix); + // Some config values contain sensitive data, so don't log them o << "mon_command("; - for (unsigned i=0; i